package controlador;

import java.util.ArrayList;
import modelo.*;
import vista.VentanaConsultaPorFechaDeVencimiento;
import vista.VentanaConsultarDisponibilidadProductosTabla;
import vista.VentanaModeloConsultaPorFechaDeVencimiento;

public class ControladorVentanaConsultaPorFechaDeVencimiento {
	
	private VentanaConsultaPorFechaDeVencimiento ventanaConsultar;
	private FacturaCompra factura;
	//private ItemCompra itemCompra;
	private ArrayList<ItemCompra> items;
	private Drogueria drogueria;
	
  

public ControladorVentanaConsultaPorFechaDeVencimiento(Drogueria drogueria) {
	
	ventanaConsultar = new VentanaConsultaPorFechaDeVencimiento();
	ventanaConsultar.setLocationRelativeTo(null);
	ventanaConsultar.setVisible(true);

		this.cargarListado();
	
	}



private ArrayList<ItemCompra> cargarListado()
{
	   ArrayList<ItemCompra> productos = new ArrayList<>();
	   //ventanaConsultar.mostrarMensaje("Cantida de items: "+factura.canItems());
	   for(int k=0; k<drogueria.cantidadFacturaCompra();k++){
	   for (int i = 0; i < drogueria.cantidadFacturaCompra() ; i++) {
		   if  (drogueria.cantidadFacturaCompra()> 0){
			   ArrayList<ItemCompra> producto =  drogueria.getFacturaCompra(k).getItemCompras(); 
			   productos.addAll(producto);
		   }
		  
	   }
	   ItemCompra aux;
		boolean cambios=false;
		
		while(true){
			cambios = false;
			for(int i=1;i< productos.size();i++){
				if(productos.get(i).getFechaVencimiento().before(productos.get(i-1).getFechaVencimiento())) {
					aux = productos.get(i);
					productos.set(i, productos.get(i-1));
					productos.set(i-1, aux);
					cambios = true;
					
				}
			}
			if(cambios==false)
				break;
		}
	   }
		return productos;
		
   }
  
   
   public void listadoProductos(){
	  
		ventanaConsultar.setListado(new VentanaModeloConsultaPorFechaDeVencimiento(cargarListado()));
	}
}